#ifndef __COMMON_H__
#define __COMMON_H__

#include<stdio.h>
#include<time.h>
#include<ctype.h>
#define MAX_CMD 256


typedef struct File_list{
    char filename[256]; // 文件名
    char file_permission[10];//文件权限
    char pw[256]; //用户
    char gr[256]; //用户组
    int is_dir;// 判断是否为目录文件(1 是目录项 0否)
    size_t size; // 文件大小
    char time_str[1024]; // 最后修改时间
    struct File_list *next; // 指向下一个文件的指针
}file_list;

typedef enum{
    CMD_CD,
    CMD_LS,
    CMD_PUTS,
    CMD_GETS,
    CMD_REMOVE,
    CMD_PWD,
    CMD_MKDIR,
    CMD_RMDIR,
    CMD_QUIT,
    CMD_RESUME_GETS,
    CMD_RESUME_PUTS
}command_type;

typedef struct{
    command_type type;
    char arg1[256];
    char arg2[256];
}command;

//解析命令结构体
int parse_command(const char *input,command *cmd);
//释放文件列表
void free_file_list(file_list *head);


#endif